home *** CD-ROM | disk | FTP | other *** search
/ Amiga Games: 500 MB Amiga Software / 500 MB Amiga Software - Euber 130 - Amiga Games Disc & Mag.iso / apc&tcp / nocover / nocover09 / texteb / work-crackingtheshell3.mp.pp / work-crackingtheshell3.mp (.txt)
Magnetic Pages Article  |  1995-09-02  |  15KB  |  193 lines

  1. MPARTICLE
  2. C     ===== H
  3. chstwahrscheinlich hat Euch der 3. Teil nun eine =====>                ==== Ausgabe sp
  4. ter erreicht als geplant. ====<                  ==== Ich bitte dies zu entschuldigen. ====
  5. 2                           **** Stephan Kraus ****
  6. 9                # # # # # # # # # # # # # # # # # # # # #<             -#        JETZT MIT 50% MEHR INHALT !        #-9                # # # # # # # # # # # # # # # # # # # # #
  7. -            _________________________________I      [*]--| Cracking the Shell - Part three |---------------------[#][#]I      |----| Kursfahrplan |__________________|                          |I      |    `--------------'                  |--------------------------|I      |                                  -----                          |I      |     1.) - Einf
  8. hrung             |-> 3.) - Menusystem        <- |I      |        - die wichtigsten Befehle |->     - Skriptdateien Nr.2<- |I      |                                  |                              |I      |     2.) - Skriptdateien          |   4.) - mehr Skripte         |I      |         - eigene Bootdisk        |       - Dateien und Skripte  |I      |                                  |                              |I      |                                  |   5.) - Entr
  9. mpeln der WB    |I      |__________________________________|______________________________|I      |In Vorbereitung: |  Fehlercodes * Escape & ANSI Sequences *      |I      |------------------_________________                            ^ |I      |                                   ---------------- ___________v_|I      |  COME TO *WORLD OF COMMODORE* WITH AMIGA 1994     | (C) by S.K. |I      *---------------------------------------------------------------[/]
  10. %       ______________________________
  11.       |6      *  Vorraussetzungen: AMIGA MIT OS2.0 ODER H
  12. HER.B         ^^^^^^^^^^^^^^^^^ H
  13. CHSTWAHRSCHEINLICH FUNKTIONIEREN ALLE@                           BEISPIELE AUCH AUF 1.3, ICH KONNTE ESB                           ABER NICHT AUSPROBIEREN (KEIN 1.3 AMIGAI                           VORHANDEN                                    *I                                                                        |I                                       ----------------------------------
  14. I      Die in diesem  Workshop  beschriebenen  Verfahren  und  AnleitungenI      sowie  die  gegebenen  Informationen  sind  allein  zu  LehrzweckenI      erstellt. Ich kann  keine  Haftung  f
  15. r  fehlerhafte  Angaben  oderI      daraus resultierende Folgen 
  16. bernehmen. Alle Beispiele sind auf 2.0I      gepr
  17. ft. Wenn sich dennoch  Fehler  eingeschlossen  haben,  (wetten9      das)bitte benachrichtigen ! Trotz allem viel Spa
  18.  !C      Die fehlerfreien Versions gibts kostenlos bei mir +(LD+Porto)
  19. ,                                       *   **                                         +
  20.      Murphy strikes BACK !!!
  21.      -+-+-+-+-+-+-+-+-+-+-+-      Im 1. Teil mu
  22. te es hei
  23. J     """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""/                              -=Skriptdateien=-J     """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""I     Die im letzten Kursteil besprochene "Skriptdatei" war noch etwas ma-H     ger: sie war nicht interaktiv (um mal ein Modewort zu gebrauchen!);4     d. h. sie reagierte nicht auf Benutzereingaben.
  24. E     In diesem Kursteil werden wir uns in erster Linie einem Tastaur-D     gesteuertem Menusystem f
  25. r eine Programmdiskette widmen. Nehmen0     wir an, auf unsere Disk sollen 5 Programme:
  26. 9     -> 1.) Texteditor (Nehmen wir den guten, alten "ED")>     -> 2.) beliebiges DFUE-Programm (m
  27. glichst kleines)   [1]>     -> 3.) ein Taschenrechner (Calc 3.0)                  [2]>     -> 4.) Pac-Man Spiel (Minipac)                        [3]
  28.      -> 5.) Die Shell.
  29. ,     [ Programme siehe Quellenverzeichnis ].
  30. 4     Dann soll unser Startmenu ungef
  31. hr so aussehen:
  32. -     1.) Der Bildschirm soll gel
  33. scht werden.%     2.) Ein Musikst
  34. ck wird geladen.#     3.) ein Text wird ausgegeben :
  35. &     ---->    Hallo, Meister     <----            - - - - - - - - - - -,     Welchen Dienst darf ich Euch erweisen ?
  36. &     * * * * * * * * * * * * * * * * *&     *  >1<    Rechnen, Plotten.     *&     *  >2<    Pacman spielen.       *&     *  >3<    Hacken.               *&     *  >4<    Texte erfassen.       *&     *  >5<    Shell-Fenster 
  37. ffnen. *&     * * * * * * * * * * * * * * * * *&     *  >6<    - ENDE -              *&     * * * * * * * * * * * * * * * * *
  38.      Ihre Eingabe (Kennziffer)         -> #
  39. J     """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  40.      1.1    VorbereitungJ     """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""E     Zus
  41. tzlich zu den geplanten "Nutzprogrammen" m
  42. ssen wir uns nochD     ein beliebiges Musikabspielprogramm [z.B. 5] und ein MusikmodulG     (eine Datei, in der die ben
  43. tigten digi-Instrumente sammt den "No-H     ten" gepeichert ist. Diese findet man h
  44. ufig auf PD-Disketten. Lei-J     der gibt es bei Musikmodulen keinen "Standart" wie .IFF bei Grafiken.G     Daher mu
  45. r gesorgt werden, da
  46.  der Player zum Modul kompatibel4     ist. Gebr
  47. uchlich ist das "Protracker-Format").
  48. F     Ansonsten m
  49. ssen wir uns 
  50. berlegen, wie wir den Bilschirm l
  51. schen6     . Erstes k
  52. nnen wir mit einer beliebigen CompilerH     sprache, mit Ausnahme villeicht Amos realisieren. Einfacher geht esG     jedoch 
  53. ber sogenannte "Escape-Sequencen", welche Haupts
  54. chlich inJ     Verbindung mit Druckern bekannt sind. Neugierige haben bestimmt schonE     mal einen Blick in die Datei "Shell-Startup" der WB2.0 geworfen.
  55.      Dort hei
  56. t es:
  57.      .
  58.      alias xcopy "copy clone "
  59.      alias emacs memacs
  60. C     alias clear "echo *"*E[0;0H*E[J*" "  <- Das interessiert uns !
  61. 8     alias reverse "echo *"*E[>1m*E[30;41m*E[0;0H*E[J*""7     alias normal "echo *"*E[>0m*E[31;40m*E[0;0H*E[J*""
  62.      Prompt "%N.%S> "
  63.      .
  64. I     f
  65. gen wir nun die markierte Zeile an den Anfang unseres Menu-Skripts4     ein, k
  66. nnen wir sie immer mit "clear" aufrufen!'     Drucken k
  67. nnen wir eine Datei mit:
  68.              Zu druckende Datei
  69.                    ___
  70.                   /   \
  71.      -> copy from datei to prt:
  72.              \__/       \/ \__/-              |__________|   |__> Der Drucker
  73.                optional.
  74. K     """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  75.      1.2     Die DisketteK     """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""H     Zuerst mu
  76.  eine Diskette formatiert werden. (format drive dfx: name
  77.      Diskette noicons)H     Dann richten wir ein Verzeichnis "Programme" (mit makedir Diskette:D     Prgramme) ein, und kopieren die o.g. Tool in diese "Schublade".C     Da wir nicht wissen, welche Libraries, Devices und Handler vonI     den einzelnen Programmen (auch wenn andere Programme verwendet werd-D     en sollen.) ben
  78. tigt werden, kopieren wir einfach die gesammten
  79.      Verzeichnisse:
  80. &     copy Workbench2.0:l to Diskette:l,     copy Workbench2.0:libs to Diskette:Libs,     copy Workbench2.0:devs to Diskette:devs
  81. E     Wir m
  82. ssen auch sicherstellen, da
  83.  unser Druckertreiber im Verz.!     Diskette:devs/printers/ ist.
  84. D     F
  85. r den Men
  86. -Text und die Skripte ben
  87. tigen wir noch unser "s"-#     Directory: makedir Diskette:s.
  88. -     Wichtige Befehle m
  89. ssen ins C-Directory.
  90.      makedir Diskette:c@     copy Workbench2.0:c/copy type loadwb execute to diskette:c/
  91.      f
  92. r die Shell:2     copy Workbench 2.0c/dir delete to diskette:c/
  93. 2     F
  94. r das Musik-Modul: makedir diskette:modules/     copy musikdisk:mod.xy to diskette:modules/
  95.      copy player to diskette:c/
  96. H     Auf die deutsche Tastaturbelegung wollen wir auch nicht verzichten:D     Kopieren Sie das keyfile "d" aus Extras2.0:devs/keymaps/ in die+     devs/keymaps - Schublade unserer Disk.
  97. G     Ansonsten ben
  98. tigen wir noch das Setmap-Tool, um die Tastaturtrei-<     ber zu aktivieren: Wir finden es in Worbench2.0:system/
  99. C     Erstellen wir nun mit "ED" oder einem anderen ASCII-Editor die:     oben angegebene Men
  100. -Seite unter Diskette:s/menu-text
  101.      Jetzt wirds interessant:
  102. J     """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""";     2.0  Das Herzst
  103. ck: MENU-Startup  und Startup-sequenceJ     """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  104. *     lassen wir den Editor gleich "offen".
  105.      2.1 Startup-sequence
  106.      ====================
  107.      ; start skript
  108. >     ; mit dem Strichpunkt leiten wir Kommentare ein, wie z.B.
  109.      ;*     ; * * * * * * * * * * * * * * * * * **     ; * Startup-Sequence der Menu-Disk  **     ; * Version 0.001                   **     ; * * * * * * * * * * * * * * * * * *
  110.      ;
  111. 8     echo "  "                          ; eine Leerzeile7     echo "Programm Disk # 122 - Box 12 - Schublade 34"H     echo "(C) 2001 by Infokomm"        ; "echo" ab OS2.0 im ROM, Italia
  112. 6     run player modules/mod.xy           ; Letz fetz !
  113.      ;    ^              ^1     ;    |              |-> Name des Musikmoduls'     ;    |-> Name des Abspielprogramms
  114.      execute s:menu-startup
  115.      loadwb -debug
  116.      ;        ^*     ;        |-> 2 Neue Workbench - MenusA     ;            1.) Flushlibs -> entfernt unn
  117. tige Bibliotheken4     ;                             aus dem Speicher.A     ;            2.) RomWack   -> Debugger (funktioniert nur beiE     ;                2. Computer an Serial1. N
  118. heres bei Tip&Tricks)
  119.      ; end skript
  120. 4     -> Speichert unter diskette:s/startup-sequence.
  121. L     """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""/     2.0    Neue Befehle zur SkriptverarbeitungL     """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  122. F     skip xyz   : Springe Zu (
  123. hnlich Goto in Basic), erwartet Sprung-
  124.                   marke.>                  Durch einen Trick (skip >NIL: ?) kann dieser=                  Befehl auch in S.-Dateien verwendet werden.
  125. J     lab xyz    : Sprungmarke. Nach "skip" kommt der Name der Sprungmarke.D                  Beispiel: nach "Skip x" wird zu "lab x" verzweigt.
  126. .     ask "text" : (Y/N)-Auswahl. (siehe unten)
  127.      2.2 Menu-Startup
  128.      ================
  129.      ;  start skript
  130.      ;  * * * * * * * * * * * *
  131.      ;  * Menu-Startup V.001  *
  132.      ;  * * * * * * * * * * * *
  133. D     failat 99         ; Wenn Fehler -> kein Abbruch der SkriptdateiI     alias clear "echo *"*E[0;0H*E[J*" "   ; Escap-Sequenz zum Bilschirm-6                                           ; l
  134. schen !?     lab loop               ; Wenn Fehler -> Hierhin springen !(     clear                  ; siehe oben.     type s:menu-text       ; Angebot ausgeben8     skip >NIL: ?           ; wir tricksen! siehe unten!
  135. >     lab 1  ;Rechner        ; Wenn "1" eingegeben -> ausf
  136.        clear        echo "Ich lade Calc 3.0!"!       diskette:programme/calc3.07     skip end               ; zur "ende"-Marke springen
  137. >     lab 2                  ; Wenn "2" eingegeben -> ausf
  138.        clear'       echo "Die Spiele m
  139. gen beginnen"!       diskette:programme/minipac
  140.      skip end
  141.      lab 3
  142.        clearB       echo "Welcome to the NASA-Headquarters. Keep on hacking  !""       diskette:programme/miniterm
  143.      skip end
  144. @     lab 4                  ; geht nat
  145. rlich auch mit Buchstaben
  146.        clear1       echo "Lade Ascii-Editor, file in RAM:TEXT"
  147.        diskette:c/ed ram:TEXT
  148.      skip end
  149.      lab 5'       echo " "             ; Leerzeile;       echo " 
  150. ffne neue Shell, bitte etwas Geduld........"A       run newshell         ; Hach bin ich froh, keine MS-Dose zu%                            ; haben !D       skip loop back       ; Jetzt kann er ja zum Anfang springen !
  151.      lab 6
  152.        clear:       echo "  ------>  E N D E   G E W 
  153.  H L T  <------ "@         ask " Skript beenden & WB laden ? (Y = Ja / N = Nein) ".         If WARN               ; Y=Ja gew
  154. hlt.8         quit                  ; Schlu
  155.  mit Menu-startup<                               ; -> gehe zu Startup-Sequence1         ELSE                  ; andererseits....
  156.      skip loop back
  157. 9     lab                    ; kein Buchstabe eingegeben !
  158.        clear9       skip loop back       ; zur
  159. ck zum Start (lab loop)C     skip end               ; Diese Zeile kann nie erreicht werden,0                            ; Daher 
  160. berfl
  161. ssig.
  162. F     lab end                ; hier ist Schlu
  163.  ! (Aufgerufen, wenn Pro-E                            ; gramm erfolgreich gestartet und Beendet$                            ; wurde.
  164. /     skip loop back         ; zur
  165. ck zum Start.
  166.      ; end skript
  167. L****************************************************************************
  168. F     Die Programme sind den Serien Fish (Minipac),(CALC3.0) und Aminet5     (Miniterm, 17 kbyte) entnommen. Alle PRG's bei :J     Stephan Kraus, In den Forstwiesen 7, 56745 Bell. Gegen 3 DM in Brief-=     marken. (Einschlie
  169. lich Porto und Leerdisk und Umschlag)
  170. F     So, ich hoffe bei euch hat alles funktioniert. Bis n
  171. chsten Monat
  172.      in ........
  173. 6                 + + + + + + + + + + + + + + + + + + +>        ----->   + Nocover - DAS Amiga Disk-Magazin  +  <-----6                 + + + + + + + + + + + + + + + + + + +
  174. A       (C) 10/94    by Stephan Kraus    Printed on Alpha Centauri
  175. '                                    \|/(                                   --*--'                                    /|\
  176. -WORK-Cracking the Shell Teil 3 Seite 1 von 17
  177. -WORK-Cracking the Shell Teil 3 Seite 2 von 17
  178. -WORK-Cracking the Shell Teil 3 Seite 3 von 17
  179. -WORK-Cracking the Shell Teil 3 Seite 4 von 17
  180. -WORK-Cracking the Shell Teil 3 Seite 5 von 17
  181. -WORK-Cracking the Shell Teil 3 Seite 6 von 17
  182. -WORK-Cracking the Shell Teil 3 Seite 7 von 17
  183. -WORK-Cracking the Shell Teil 3 Seite 8 von 17
  184. -WORK-Cracking the Shell Teil 3 Seite 9 von 17
  185. .WORK-Cracking the Shell Teil 3 Seite 10 von 17
  186. .WORK-Cracking the Shell Teil 3 Seite 11 von 17
  187. .WORK-Cracking the Shell Teil 3 Seite 12 von 17
  188. .WORK-Cracking the Shell Teil 3 Seite 13 von 17
  189. .WORK-Cracking the Shell Teil 3 Seite 14 von 17
  190. .WORK-Cracking the Shell Teil 3 Seite 15 von 17
  191. .WORK-Cracking the Shell Teil 3 Seite 16 von 17
  192. .WORK-Cracking the Shell Teil 3 Seite 17 von 17
  193.